#pragma once

namespace Core
{
	class Observer;

	class Observable
	{
	protected:
		std::vector<Observer*> m_Observers;

	public:
		virtual ~Observable() {};
		void AddObserver(Observer& p_Observer);
		void NotifyObservers(void* p_Parameter = NULL);
	};
}
